/*  ----------------------------------------------------------------------------
 *  Arello Mobile
 *  Fast 3d Engine
 *  ----------------------------------------------------------------------------
 * Except where otherwise noted, this work is licensed under
 * http://creativecommons.org/licenses/by/3.0
 */
#pragma once

#include <lib3d/node/Creator.h>
#include <lib3d/node/Billboard.h>
#include <lib3d/node/Box.h>
#include <lib3d/node/CameraParallel.h>
#include <lib3d/node/CameraPerspective.h>
#include <lib3d/node/Sprite.h>
#include <lib3d/node/Light.h>
#include <lib3d/node/ModelFixed.h>
#include <lib3d/node/ModelMorph.h>
#include <lib3d/node/ModelSkeleton.h>
#include <lib3d/node/Node.h>
#include <lib3d/node/Plane.h>
#include <lib3d/node/Sphere.h>
#include <lib3d/node/Text.h>
#include <lib3d/hard/Manager.h>
#include <lib3d/node/Animation2D.h>
#include <lib3d/node/Emitter.h>
#include <lib3d/node/Plume2D.h>
#include <lib3d/node/Gradient.h>
#if !defined(MAC_VERSION) && !defined(ANDROID_NDK)
#include <lib3d/node/Trace.h>
#endif
#include <lib3d/node/Void.h>

#include "../Creator.h"
#include <lib3d/TrueTextCreator.h>

namespace liba
{
namespace lib3d
{

class Creator :
	virtual public liba::Creator,
	virtual public node::Creator<node::Billboard>,
	virtual public node::Creator<node::Box>,
	virtual public node::Creator<node::CameraParallel>,
	virtual public node::Creator<node::CameraPerspective>,
	virtual public node::Creator<node::Sprite>,
	virtual public node::Creator<node::Light>,
	virtual public node::Creator<node::ModelFixed>,
	virtual public node::Creator<node::ModelMorph>,
	virtual public node::Creator<node::ModelSkeleton>,
	virtual public node::Creator<node::Node>,
	virtual public node::Creator<node::Plane>,
	virtual public node::Creator<node::Sphere>,
	virtual public node::Creator<node::Emitter>,
	virtual public node::Creator<node::Text>,
	virtual public node::Creator<node::Animation2D>,
	virtual public node::Creator<node::Plume2D>,
	virtual public node::Creator<node::Gradient>,
#if !defined(MAC_VERSION) && !defined(ANDROID_NDK)
	virtual public node::Creator<node::Trace>,
#endif
	virtual public node::Creator<node::Void>,
	virtual public hard::Manager::Creator,
	virtual public TrueTextCreator
{
public:
	Creator()
	{}
	~Creator()
	{}
};

} // namespace lib3d
} // namespace liba
using namespace liba;
